#ifndef ELF32_H
#define ELF32_H

#include <elf.h>

class Elf{
	Elf32_Ehdr	*header;	//Заголовок файла
	Elf32_Phdr	*phdr;		//Заголовки секций программ
	Elf32_Shdr	*shdr;		//
	public:
		Elf(void *h_addr){
			header = (Elf32_Ehdr *)h_addr;
			phdr = (Elf32_Phdr *)((uint32)header + header->e_phoff);
		}
		
		inline void * getEntery(){
			return (void *) header->e_entery;
		}
		inline int32 getSHeaderNr(){
			return header->e_shnum;
		}
		inline Elf32_Phdr * getPHeaderTable(){
			return phdr;
		}
		inline int getPHeaderNr(){
			return header->e_phnum;
		}
		inline Elf32_Phdr * getPHeader(int i){
			return &phdr[i];
		}
};


#endif /* ELF32_H */

